package com.ccys.db.vo.consultation;


import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class ConsultationBasicsDetailVo {

    private String consultationCode;

    private Integer platformType;

    private String consultationType;

    private Integer bookingDeliveryType;

    private Integer status;

    private Integer subStatus;

    private String reactiveOrderNo;

    private String specialisation;


    /**
     * appointment模块
     */
    @ApiModelProperty("判断是否展示appointment的依据 0 否 1 是")
    private Integer appointment;

    private String appointmentDoctorId;

    private String appointmentDoctorName;


    @ApiModelProperty("开始时间")
    private Date appointmentTime;

    @ApiModelProperty("结束时间")
    private Date appointmentEndTime;

    @ApiModelProperty("问诊日期")
    private Date appointmentCreatedOn;

    private String appointmentClinicId;

    private String appointmentClinicLocation;

    private String appointmentNote;

    @ApiModelProperty("预约类型 1in-clinic 2:video 3:text-based")
    private Integer appointmentType;


    /**
     * patient 模块
     */
    private String patientHeadImage;

    private String patientName;

    private Integer patientPregnant;

    private String patientG6pd;

    private String patientId;

    private String patientPhone;

    private String patientDob;

    private Integer patientAge;

    private Integer patientGender;

    private BigDecimal patientHeight;

    private BigDecimal patientWeight;

    private String patientAIAMember;

    private String patientLongTermCondition;

    private String patientLongTermMedication;


    /**
     * 医生模块
     */
    private String doctorHeadImage;

    private String doctorInfoName;

    private String doctorLicenseNo;

    private String doctorDob;

    private String doctorGender;

    private String doctorAddress;

    private String doctorSignatureImage;


    /**
     * child模块
     */
    @ApiModelProperty("childId为null的话不展示child模块")
    private String childId;

    private String childName;

    private String childDob;

    private Integer childAge;

    private Integer childGender;

    private Integer childRelationship;

    private BigDecimal childHeight;

    private BigDecimal childWeight;

    private String childAIAIdentifier;

    private String childLongTermCondition;

    private String childLongTermMedication;


    /**
     * summary 模块
     */
    private Date consultationDate;


    @ApiModelProperty("复诊时，记录上一次的编号")
    private String followUpFrom;

    private String corporateAndInsurance;

    private String AIAIdentifier;

    private BigDecimal patientTemp;

    private BigDecimal patientBp1;

    private BigDecimal patientBp2;

    private BigDecimal patientHr;

    private String allergic;

    private String allergicReaction;

    private String symptoms;

    private String medicationTaken;

    private String patientLocation;

    private String deliveryLocation;

    private String diagnosis;

    private String patientSummary;

    private String presentingComplaint;

    private String management;

    @ApiModelProperty("医生端填写 是否需要referral letter(转介绍信)")
    private Integer needMedicalLetter;

    private Integer needMedicalCertification;

    private String medicalCertificationCode;

    @ApiModelProperty("请假天数（ Is unfit for duty for）")
    private Integer medicalCertificationDays;

    private Date medicalCertificationBeginDate;

    private Date medicalCertificationEndDate;

    private String additionalNote;

    private String instructionsToPatient;

    private Integer waiveConsultationFeeFlag;

    private String waiveConsultationReason;

    private Integer waiveMedicationFeeFlag;

    private String waiveMedicationReason;

    private Integer waiveMedicalServiceFlag;

    private String waiveMedicalServiceReason;

    private Integer waivePracticeFeeFlag;

    private String waivePracticeReason;

    private Integer waiveDeliveryFeeFlag;

    private String waiveDeliveryReason;

    private Integer paymentMethod;

    @ApiModelProperty("normal hour 的 consultationFee")
    private BigDecimal consultationFee;

    @ApiModelProperty("after hour 的 consultationFee")
    private BigDecimal surchargeFee;

    private BigDecimal medicationFee;

    private BigDecimal medicalServiceFee;

    private BigDecimal practiceFee;

    private BigDecimal deliveryFee;

    private String grandTotal;

    private BigDecimal bookingTaxRate;

    private String flagReason;

    private Integer showMemo;

    private String memo;

    private String approvedBy;


    @ApiModelProperty("转介绍信集合 / specialist集合")
    private List<BasicsReferralLetterVo> referralLetterList;

    @ApiModelProperty("用户上传的文件集合")
    private List<BasicsFilesUploadVo> filesUploadList;

    @ApiModelProperty("memo文件集合")
    private List<BasicsMemoFilesVo> memoFilesList;


    @ApiModelProperty("symptom / Uploaded referral letter照片集合")
    private List<BasicsSymptomPhotosVo> symptomPhotosList;

    @ApiModelProperty("问诊的药品集合")
    private List<ConsultationEditMedicationVo> medicationList;

    @ApiModelProperty("medical service集合")
    private List<ConsultationEditMedicalServiceVo> medicalServiceList;


}
